f55dcd9e4434c55c8ba3a89fa7f2418d160dbd7b,javasrc/src/org/ccnx/ccn/test/impl/NetworkTest.java,NetworkTest,testRegisteredPrefix,#,85
Before Change
putHandle.getNetworkManager().cancelInterestFilter(this, testName2, tfl);
putHandle.getNetworkManager().setInterestFilter(this, testName3, tfl);
putHandle.getNetworkManager().setInterestFilter(this, testName4, tfl);
putHandle.getNetworkManager().setInterestFilter(this, testName5, tfl);
putHandle.getNetworkManager().setInterestFilter(this, testName2, tfl);
putHandle.getNetworkManager().setInterestFilter(this, testName1, tfl);
gotInterest = false;
filterSema.drainPermits();
getHandle.expressInterest(interest6, tl);
filterSema.tryAcquire(WAIT_MILLIS, TimeUnit.MILLISECONDS);
getHandle.checkError(TEST_TIMEOUT);
Assert.assertTrue(gotInterest);
getHandle.cancelInterest(interest6, tl);
// Make sure that a filter that is a prefix of a registered filter
// doesn't get registered separately.
gotInterest = false;
filterSema.drainPermits();
putHandle.getNetworkManager().setInterestFilter(this, testName7, tfl);
ArrayList<ContentName> prefixes = putHandle.getNetworkManager().getRegisteredPrefixes();
Assert.assertFalse(prefixes.contains(testName7));
getHandle.expressInterest(interest4, tl);
filterSema.tryAcquire(WAIT_MILLIS, TimeUnit.MILLISECONDS);
getHandle.checkError(TEST_TIMEOUT);
Assert.assertTrue(gotInterest);
getHandle.cancelInterest(interest4, tl);
gotInterest = false;
filterSema.drainPermits();
getHandle.expressInterest(interest6, tl);
filterSema.tryAcquire(WAIT_MILLIS, TimeUnit.MILLISECONDS);
getHandle.checkError(TEST_TIMEOUT);
Assert.assertTrue(gotInterest);
getHandle.cancelInterest(interest6, tl);
putHandle.getNetworkManager().cancelInterestFilter(this, testName1, tfl);
putHandle.getNetworkManager().cancelInterestFilter(this, testName2, tfl);
putHandle.getNetworkManager().cancelInterestFilter(this, testName3, tfl);
putHandle.getNetworkManager().cancelInterestFilter(this, testName5, tfl);
putHandle.getNetworkManager().cancelInterestFilter(this, testName7, tfl);
// Make sure nothing is registered after a /
ContentName slashName = ContentName.fromNative("/");
putHandle.getNetworkManager().setInterestFilter(this, testName1, tfl);
putHandle.getNetworkManager().setInterestFilter(this, slashName, tfl);
putHandle.getNetworkManager().setInterestFilter(this, testName5, tfl);
prefixes = putHandle.getNetworkManager().getRegisteredPrefixes();
Assert.assertFalse(prefixes.contains(testName5));
putHandle.getNetworkManager().cancelInterestFilter(this, testName1, tfl);
putHandle.getNetworkManager().cancelInterestFilter(this, slashName, tfl);
putHandle.getNetworkManager().cancelInterestFilter(this, testName5, tfl);
}
After Change
putHandle.getNetworkManager().cancelInterestFilter(this, testName2, tfl);
putHandle.registerFilter(testName3, tfl);
putHandle.registerFilter(testName4, tfl);
putHandle.registerFilter(testName5, tfl);
putHandle.registerFilter(testName2, tfl);
putHandle.registerFilter(testName1, tfl);
gotInterest = false;
filterSema.drainPermits();
getHandle.expressInterest(interest6, tl);
filterSema.tryAcquire(WAIT_MILLIS, TimeUnit.MILLISECONDS);
getHandle.checkError(TEST_TIMEOUT);
Assert.assertTrue(gotInterest);
getHandle.cancelInterest(interest6, tl);
// Make sure that a filter that is a prefix of a registered filter
// doesn't get registered separately.
gotInterest = false;
filterSema.drainPermits();
putHandle.registerFilter(testName7, tfl);
ArrayList<ContentName> prefixes = putHandle.getNetworkManager().getRegisteredPrefixes();
Assert.assertFalse(prefixes.contains(testName7));
getHandle.expressInterest(interest4, tl);
filterSema.tryAcquire(WAIT_MILLIS, TimeUnit.MILLISECONDS);
getHandle.checkError(TEST_TIMEOUT);
Assert.assertTrue(gotInterest);
getHandle.cancelInterest(interest4, tl);
gotInterest = false;
filterSema.drainPermits();
getHandle.expressInterest(interest6, tl);
filterSema.tryAcquire(WAIT_MILLIS, TimeUnit.MILLISECONDS);
getHandle.checkError(TEST_TIMEOUT);
Assert.assertTrue(gotInterest);
getHandle.cancelInterest(interest6, tl);
putHandle.unregisterFilter(testName1, tfl);
putHandle.unregisterFilter(testName2, tfl);
putHandle.unregisterFilter(testName3, tfl);
putHandle.unregisterFilter(testName5, tfl);
putHandle.unregisterFilter(testName7, tfl);
// Make sure nothing is registered after a /
ContentName slashName = ContentName.fromNative("/");
putHandle.registerFilter(testName1, tfl);
putHandle.registerFilter(slashName, tfl);
putHandle.registerFilter(testName5, tfl);
prefixes = putHandle.getNetworkManager().getRegisteredPrefixes();
Assert.assertFalse(prefixes.contains(testName5));
putHandle.unregisterFilter(testName1, tfl);
putHandle.unregisterFilter(slashName, tfl);
putHandle.unregisterFilter(testName5, tfl);
}